import os
from datetime import datetime , timedelta
import shutil
while True:
    num = input("请输入需要备份的文件夹：\n")   # 存储要备份的文件夹名字
    if not os.path.isdir(num):
        print("文件夹不存在，请重新输入")     # 文件夹不存在则重新输入
    else:
        Dir = os.listdir(num)    # 获取要备份的文件夹中的文件
        if not Dir:
            print("空文件夹")    # 空文件夹则仍需重新输入
            continue
        else:
            destination = input("请输入备份位置文件夹： \n")  # 获取需要备份到的位置
            if not destination:
                destination1 = os.getcwd()  # 未指定位置，获取当前文件夹
                destination2 = str(os.path.basename(num)) + '_' + str(datetime.now().strftime('%Y%m%d'))
                destination = os.path.join(destination1 , destination2)
            if not os.path.isdir(destination):
                os.mkdir(destination)    # 如果指定备份到的文件夹为空，则创建个文件夹
            break
#for file_name in Dir:
 #   all_file_name = os.path.join(num,file_name)
  #  print(all_file_name)
   # if os.path.isfile(all_file_name):
    #    shutil.copy(all_file_name,destination)
for root,dirs,files in os.walk(num):
    for file in files:
        src_file=os.path.join(root,file)
        shutil.copy(src_file,destination)

